Next: Advanced Scoring Examples, Up: Advanced Scoring [Contents][Index]
Ordinary scoring rules have a string as the first element in
the rule. Advanced scoring rules have a list as the first
element. The second element is the score to be applied if the
first element evaluated to a non-nil value.
These lists may consist of three logical operators, one redirection operator, and various match operators.
Logical operators:
&andThis logical operator will evaluate each of its arguments
until it finds one that evaluates to false, and
then it’ll stop. If all arguments evaluate to
true values, then this operator will return
true.
|orThis logical operator will evaluate each of its arguments
until it finds one that evaluates to true. If no
arguments are true, then this operator will
return false.
!not¬This logical operator only takes a single argument. It returns the logical negation of the value of its argument.
There is an indirection operator that will make its
arguments apply to the ancestors of the current article being
scored. For instance, 1- will make score rules apply
to the parent of the current article. 2- will make
score rules apply to the grandparent of the current article.
Alternatively, you can write ^^, where the number of
^s (carets) says how far back into the ancestry you
want to go.
Finally, we have the match operators. These are the ones that do the real work. Match operators are header name strings followed by a match and a match type. A typical match operator looks like ‘("from" "Lars Ingebrigtsen" s)’. The header names are the same as when using simple scoring, and the match types are also the same.
Next: Advanced Scoring Examples, Up: Advanced Scoring [Contents][Index]